import { computed } from "vue";
import { useRoute } from "vue-router";
import { useAuthStore } from "@/stores/modules/auth";

/**
 * @description 页面按钮权限
 * */
export const useAuthButtons = () => {  // 使用自定义钩子useAuthButtons
  const route = useRoute();  // 使用useRoute()函数获取当前路由信息
  const authStore = useAuthStore();  // 使用useAuthStore()函数获取权限存储
  const authButtons = authStore.authButtonListGet[route.name as string] || [];  // 获取当前路由对应的权限按钮列表，如果不存在，则为空数组
  const BUTTONS = computed(() => {  // 使用computed()函数创建一个计算属性BUTTONS
    let currentPageAuthButton: { [key: string]: boolean } = {};  // 创建一个空对象，用于存储当前页面的权限按钮
    authButtons.forEach(item => (currentPageAuthButton[item] = true));  // 遍历权限按钮列表，将每个按钮作为对象的属性，并赋值为true
    return currentPageAuthButton;  // 返回当前页面的权限按钮对象
  });
  return {
    BUTTONS
  };
};
